import { createRouter, createWebHistory } from 'vue-router'
import Layout from '../layout/index.vue'
import systemRoutes from './system.js'

/**
 * 路由对象
 * name                    // 路由名称（应和.vue页面的 name 一样，不一样的话页面缓存可能会有问题）
 * meta: {
     noCache: true        // 为 true 时不缓存（注意：没有 name 的路由不会被缓存）
     title: ''            // 路由标题
     noDisplayTag: true   // 为真时，该路由不显示页面标签
     noAuth: true         // 为真时，该路由可直接访问
     permissions: []      // 权限，例如：['Admin']
  }
*/
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      component: Layout,
      redirect: '/index',
      children: [
        ...systemRoutes,
        {
          path: '/index',
          name: 'Index',
          meta: {
            title: '首页'
          },
          component: () => import('../views/index.vue')
        }
      ]
    },
    {
      path: '/login',
      name: 'Login',
      component: () => import('../views/login.vue'),
      meta: {
        noAuth: true,
        title: '登录'
      }
    },
    {
      path: '/403',
      component: () => import('../views/error/403.vue'),
      meta: {
        noAuth: true,
        title: '没有访问权限'
      }
    },
    {
      path: '/:pathMatch(.*)*',
      component: () => import('../views/error/404.vue'),
      meta: {
        noAuth: true,
        title: '页面不存在'
      }
    }
  ]
})

export default router
